package com.yingxin.yxerp.module.dingtalk.vo.we.com;

import lombok.Data;

@Data
public class WeComField {

    private static final long serialVersionUID = 1;

    private int fieldid;

    /**
     * 下标
     */
    private int sub_idx;

    /**
     * 查询结果
     * 1 成功, 2	失败, 3 字段未找到, 5 不支持获取的字段类型
     */
    private int result;

    /**
     * 字段的名称
     * 1	字符串	value_string	    字符串
     * 2	64位非负整数	value_uint64	非负整数
     * 3	32位非负整数	value_uint32	非负整数
     * 4	64位整数	value_int64	        整数
     * 5	电话号码	value_mobile	    参考电话号码类型字段结构
     * 6	文件	value_file	            参考文件类型字段结构
     */
    private Integer value_type;

    /**
     * 字符串
     */
    private String value_string;

    /**
     * 非负整数
     */
    private long value_uint64;

    /**
     * 非负整数
     */
    private Integer value_uint32;

    /**
     * 整数
     */
    private long value_int64;

    /**
     * 电话号码
     */
    private WeComValueMobile value_mobile;

    /**
     * 文件
     */
    private WeComMedia value_file;

    public Object getValue(){
        if( result == 1 ){
            switch (value_type){
                case 1:
                    return value_string;
                case 2:
                    return value_uint64;
                case 3:
                    return value_uint32;
                case 4:
                    return value_int64;
                case 5:
                    return value_mobile.getValue_mobile();
                case 6:
                    return value_file.getMedia_id();
                default:
                    return null;
            }
        }
        return null;
    }

}
